home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Light ROM 1
/
LIGHT-ROM 1 (Amiga Library Services)(1994).iso
/
ffdisks
/
d880.lha
/
Oberon
/
O3Demo2.lzh
/
Definitions
/
Intuition.def
< prev
next >
Wrap
Text File
|
1993-01-15
|
39KB
|
1,410 lines
DEFINITION Intuition;
IMPORT
e := Exec,
g := Graphics,
ie := InputEvent,
t := Timer,
u := Utility,
km := KeyMap;
TYPE
MenuPtr = UNTRACED POINTER TO Menu;
MenuItemPtr = UNTRACED POINTER TO MenuItem;
RequesterPtr = UNTRACED POINTER TO Requester;
GadgetPtr = UNTRACED POINTER TO Gadget;
GadSpecialInfoPtr = UNTRACED POINTER TO GadSpecialInfo;
BoolInfoPtr = UNTRACED POINTER TO BoolInfo;
PropInfoPtr = UNTRACED POINTER TO PropInfo;
StringInfoPtr = UNTRACED POINTER TO StringInfo;
IntuiTextPtr = UNTRACED POINTER TO IntuiText;
BorderPtr = UNTRACED POINTER TO Border;
ImagePtr = UNTRACED POINTER TO Image;
IntuiMessagePtr = UNTRACED POINTER TO IntuiMessage;
IBoxPtr = UNTRACED POINTER TO IBox;
WindowPtr = UNTRACED POINTER TO Window;
NewWindowPtr = UNTRACED POINTER TO NewWindow;
ExtNewWindowPtr = UNTRACED POINTER TO ExtNewWindow;
RememberPtr = UNTRACED POINTER TO Remember;
ColorSpecPtr = UNTRACED POINTER TO ColorSpec;
EasyStructPtr = UNTRACED POINTER TO EasyStruct;
GadgetInfoPtr = UNTRACED POINTER TO GadgetInfo;
PGXPtr = UNTRACED POINTER TO PGX;
MsgPtr = UNTRACED POINTER TO Msg;
OpSetPtr = UNTRACED POINTER TO OpSet;
OpUpdatePtr = UNTRACED POINTER TO OpUpdate;
OpGetPtr = UNTRACED POINTER TO OpGet;
OpAddTailPtr = UNTRACED POINTER TO OpAddTail;
OpMemberPtr = UNTRACED POINTER TO OpMember;
IClassPtr = UNTRACED POINTER TO IClass;
ObjectPtr = UNTRACED POINTER TO Object;
HitTestPtr = UNTRACED POINTER TO HitTest;
RenderPtr = UNTRACED POINTER TO Render;
InputPtr = UNTRACED POINTER TO Input;
GoInactivePtr = UNTRACED POINTER TO GoInactive;
FrameBoxPtr = UNTRACED POINTER TO FrameBox;
DrawPtr = UNTRACED POINTER TO Draw;
ErasePtr = UNTRACED POINTER TO Erase;
IMHitTestPtr = UNTRACED POINTER TO IMHitTest;
PreferencesPtr = UNTRACED POINTER TO Preferences;
DrawInfoPtr = UNTRACED POINTER TO DrawInfo;
ScreenPtr = UNTRACED POINTER TO Screen;
NewScreenPtr = UNTRACED POINTER TO NewScreen;
ExtNewScreenPtr = UNTRACED POINTER TO ExtNewScreen;
PubScreenNodePtr = UNTRACED POINTER TO PubScreenNode;
StringExtendPtr = UNTRACED POINTER TO StringExtend;
SGWorkPtr = UNTRACED POINTER TO SGWork;
IntuitionBasePtr = UNTRACED POINTER TO IntuitionBase;
Menu = STRUCT
nextMenu : MenuPtr;
leftEdge,topEdge : INTEGER;
width,height : INTEGER;
flags : SET;
menuName : e.STRPTR;
firstItem : MenuItemPtr;
jazzX,jazzY,beatX,beatY : INTEGER;
END;
CONST
menuEnabled = 0;
miDrawn = 8;
TYPE
MenuItem = STRUCT
nextItem : MenuItemPtr;
leftEdge,topEdge : INTEGER;
width,height : INTEGER;
flags : SET;
mutualExclude : LONGSET;
itemFill : e.APTR;
selectFill : e.APTR;
command : CHAR;
subItem : MenuItemPtr;
nextSelect : INTEGER;
END;
CONST
checkIt = 0;
itemText = 1;
commSeq = 2;
menuToggle = 3;
itemEnabled = 4;
highFlags = {6, 7};
highImage = {};
highComp = 6;
highBox = 7;
highNone = {highBox, highComp};
checked = 8;
isDrawn = 12;
highItem = 13;
menuToggled = 14;
TYPE
Requester = STRUCT
olderRequest : RequesterPtr;
leftEdge,topEdge : INTEGER;
width,height : INTEGER;
relLeft,relTop : INTEGER;
reqGadget : GadgetPtr;
reqBorder : BorderPtr;
reqText : IntuiTextPtr;
flags : SET;
backFill : SHORTINT;
reqLayer : g.LayerPtr;
reqPad1 : ARRAY 32 OF e.BYTE;
imageBMap : g.BitMapPtr;
rWindow : WindowPtr;
reqImage : ImagePtr;
reqPad2 : ARRAY 32 OF e.BYTE;
END;
CONST
pointRel = 0;
preDrawn = 1;
noisyReq = 2;
simpleReq = 4;
useReqImage = 5;
noReqBackFill = 6;
reqOffWindow = 12;
reqActive = 13;
sysRequest = 14;
deferRefresh = 15;
TYPE
Gadget = STRUCT
nextGadget : GadgetPtr;
leftEdge,topEdge : INTEGER;
width,height : INTEGER;
flags : SET;
activation : SET;
gadgetType : INTEGER;
gadgetRender : e.APTR;
selectRender : e.APTR;
gadgetText : IntuiTextPtr;
mutualExclude : LONGSET;
specialInfo : GadSpecialInfoPtr;
gadgetID : INTEGER;
userData : e.APTR;
END;
GadSpecialInfo = STRUCT
END;
CONST
gadgHighBits = {0, 1};
gadgHComp = {};
gadgHBox = 0;
gadgHImage = 1;
gadgHNone = {0, 1};
gadgImage = 2;
gRelBottom = 3;
gRelRight = 4;
gRelWidth = 5;
gRelHeight = 6;
selected = 7;
gadgDisabled = 8;
labelMask = {12, 13};
labelIText = {};
labelString = 12;
labelImage = 13;
tabCycle = 9;
stringExtend = 10;
relVerify = 0;
gadgImmediate = 1;
endGadget = 2;
followMouse = 3;
rightBorder = 4;
leftBorder = 5;
topBorder = 6;
bottomBorder = 7;
borderSniff = 15;
toggleSelect = 8;
boolExtend = 13;
stringLeft = {};
stringCenter = 9;
stringRight = 10;
longint = 11;
altKeyMap = 12;
actStringExtend = 13;
activeGadget = 14;
gadgetType = 0FC00U;
sysGadget = 08000U;
scrGadget = 04000U;
gzzGadget = 02000U;
reqGadget = 01000U;
sizing = 00010U;
wDragging = 00020U;
sDragging = 00030U;
wUpFront = 00040U;
sUpFront = 00050U;
wDownBack = 00060U;
sDownBack = 00070U;
close = 00080U;
boolGadget = 00001U;
gadget0002 = 00002U;
propGadget = 00003U;
strGadget = 00004U;
customGadget = 00005U;
gTypeMask = 00007U;
TYPE
BoolInfo = STRUCT
flags : SET;
mask : e.APTR;
reserved : LONGINT;
END;
CONST
boolMask = 0;
TYPE
PropInfo = STRUCT
flags : SET;
horizPot : INTEGER;
vertPot : INTEGER;
horizBody : INTEGER;
vertBody : INTEGER;
cWidth : INTEGER;
cHeight : INTEGER;
hPotRes,vPotRes : INTEGER;
leftBorder : INTEGER;
topBorder : INTEGER;
END;
CONST
autoKnob = 0;
freeHoriz = 1;
freeVert = 2;
propBorderless = 3;
knobHit = 8;
propNewLook = 4;
knobHmin = 6;
knobVmin = 4;
maxBody = 0FFFFU;
maxPot = 0FFFFU;
TYPE
StringInfo = STRUCT
buffer : e.STRPTR;
undoBuffer : e.STRPTR;
bufferPos : INTEGER;
maxChars : INTEGER;
dispPos : INTEGER;
undoPos : INTEGER;
numChars : INTEGER;
dispCount : INTEGER;
cLeft,cTop : INTEGER;
extension : StringExtendPtr;
longInt : LONGINT;
altKeyMap : km.KeyMapPtr;
END;
IntuiText = STRUCT
frontPen,backPen : SHORTINT;
drawMode : SHORTSET;
leftEdge : INTEGER;
topEdge : INTEGER;
iTextFont : g.TextAttrPtr;
iText : e.STRPTR;
nextText : IntuiTextPtr;
END;
Border = STRUCT
leftEdge,topEdge : INTEGER;
frontPen,backPen : SHORTINT;
drawMode : SHORTSET;
count : SHORTINT;
xy : e.APTR;
nextBorder : BorderPtr;
END;
Image = STRUCT
leftEdge : INTEGER;
topEdge : INTEGER;
width : INTEGER;
height : INTEGER;
depth : INTEGER;
imageData : e.APTR;
planePick,planeOnOff : SHORTSET;
nextImage : ImagePtr;
END;
IntuiMessage = STRUCT (execMessage : e.Message)
class : LONGSET;
code : INTEGER;
qualifier : SET;
iAddress : e.APTR;
mouseX,mouseY : INTEGER;
time : t.TimeVal;
idcmpWindow : WindowPtr;
specialLink : IntuiMessagePtr;
END;
CONST
sizeVerify = 0;
newSize = 1;
refreshWindow = 2;
mouseButtons = 3;
mouseMove = 4;
gadgetDown = 5;
gadgetUp = 6;
reqSet = 7;
menuPick = 8;
closeWindow = 9;
rawKey = 10;
reqVerify = 11;
reqClear = 12;
menuVerify = 13;
newPrefs = 14;
diskInserted = 15;
diskRemoved = 16;
wbenchMessage = 17;
activeWindow = 18;
inactiveWindow = 19;
deltaMove = 20;
vanillaKey = 21;
intuiTicks = 22;
idcmpUpdate = 23;
menuHelp = 24;
changeWindow = 25;
lonelyMessage = 31;
menuHot = 0001H;
menuCancel = 0002H;
menuWaiting = 0003H;
okOk = menuHot;
okAbort = 0004H;
okCancel = menuCancel;
wbenchOpen = 0001H;
wbenchClose = 0002H;
TYPE
IBox = STRUCT
left : INTEGER;
top : INTEGER;
width : INTEGER;
height : INTEGER;
END;
Window = STRUCT
nextWindow : WindowPtr;
leftEdge,topEdge : INTEGER;
width,height : INTEGER;
mouseY,mouseX : INTEGER;
minWidth,minHeight : INTEGER;
maxWidth,maxHeight : INTEGER;
flags : LONGSET;
menuStrip : MenuPtr;
title : e.STRPTR;
firstRequest : RequesterPtr;
dmRequest : RequesterPtr;
reqCount : INTEGER;
wScreen : ScreenPtr;
rPort : g.RastPortPtr;
borderLeft,borderTop,borderRight,borderBottom : SHORTINT;
borderRPort : g.RastPortPtr;
firstGadget : GadgetPtr;
parent,descendant : WindowPtr;
pointer : e.APTR;
ptrHeight : SHORTINT;
ptrWidth : SHORTINT;
xOffset,yOffset : SHORTINT;
idcmpFlags : LONGSET;
userPort : e.MsgPortPtr;
windowPort : e.MsgPortPtr;
messageKey : IntuiMessagePtr;
detailPen,blockPen : SHORTINT;
checkMark : ImagePtr;
screenTitle : e.STRPTR;
gzzMouseX : INTEGER;
gzzMouseY : INTEGER;
gzzWidth : INTEGER;
gzzHeight : INTEGER;
extData : e.APTR;
userData : e.APTR;
wLayer : g.LayerPtr;
iFont : g.TextFontPtr;
moreFlags : LONGSET;
END;
CONST
windowSizing = 0;
windowDrag = 1;
windowDepth = 2;
windowClose = 3;
sizeBRight = 4;
sizeBBottom = 5;
refreshBits = LONGSET{6, 7};
smartRefresh = LONGSET{};
simpleRefresh = 6;
superBitMap = 7;
otherRefresh = LONGSET{6, 7};
backDrop = 8;
reportMouse = 9;
gimmeZeroZero = 10;
borderless = 11;
activate = 12;
windowActive = 13;
inRequest = 14;
menuState = 15;
rmbTrap = 16;
noCareRefresh = 17;
windowRefresh = 24;
wbenchWindow = 25;
windowTicked = 26;
nwExtended = 18;
visitor = 27;
zoomed = 28;
hasZoom = 29;
defaultMouseQueue = 5;
TYPE
NewWindow = STRUCT
leftEdge,topEdge : INTEGER;
width,height : INTEGER;
detailPen,blockPen : SHORTINT;
idcmpFlags : LONGSET;
flags : LONGSET;
firstGadget : GadgetPtr;
checkMark : ImagePtr;
title : e.STRPTR;
screen : ScreenPtr;
bitMap : g.BitMapPtr;
minWidth,minHeight : INTEGER;
maxWidth,maxHeight : INTEGER;
type : SET;
END;
ExtNewWindow = STRUCT (nw : NewWindow)
extension : u.TagItemPtr;
END;
CONST
waDummy = u.user + 99;
waLeft = waDummy + 001H;
waTop = waDummy + 002H;
waWidth = waDummy + 003H;
waHeight = waDummy + 004H;
waDetailPen = waDummy + 005H;
waBlockPen = waDummy + 006H;
waIDCMP = waDummy + 007H;
waFlags = waDummy + 008H;
waGadgets = waDummy + 009H;
waCheckmark = waDummy + 00AH;
waTitle = waDummy + 00BH;
waScreenTitle = waDummy + 00CH;
waCustomScreen = waDummy + 00DH;
waSuperBitMap = waDummy + 00EH;
waMinWidth = waDummy + 00FH;
waMinHeight = waDummy + 010H;
waMaxWidth = waDummy + 011H;
waMaxHeight = waDummy + 012H;
waInnerWidth = waDummy + 013H;
waInnerHeight = waDummy + 014H;
waPubScreenName = waDummy + 015H;
waPubScreen = waDummy + 016H;
waPubScreenFallBack = waDummy + 017H;
waWindowName = waDummy + 018H;
waColors = waDummy + 019H;
waZoom = waDummy + 01AH;
waMouseQueue = waDummy + 01BH;
waBackFill = waDummy + 01CH;
waRptQueue = waDummy + 01DH;
waSizeGadget = waDummy + 01EH;
waDragBar = waDummy + 01FH;
waDepthGadget = waDummy + 020H;
waCloseGadget = waDummy + 021H;
waBackdrop = waDummy + 022H;
waReportMouse = waDummy + 023H;
waNoCareRefresh = waDummy + 024H;
waBorderless = waDummy + 025H;
waActivate = waDummy + 026H;
waRMBTrap = waDummy + 027H;
waWBenchWindow = waDummy + 028H;
waSimpleRefresh = waDummy + 029H;
waSmartRefresh = waDummy + 02AH;
waSizeBRight = waDummy + 02BH;
waSizeBBottom = waDummy + 02CH;
waAutoAdjust = waDummy + 02DH;
waGimmeZeroZero = waDummy + 02EH;
waMenuHelp = waDummy + 02FH;
TYPE
Remember = STRUCT
nextRemember : RememberPtr;
rememberSize : LONGINT;
memory : e.APTR;
END;
ColorSpec = STRUCT
colorIndex : INTEGER;
red : INTEGER;
green : INTEGER;
blue : INTEGER;
END;
EasyStruct = STRUCT
structSize : LONGINT;
flags : LONGSET;
title : e.STRPTR;
textFormat : e.STRPTR;
gadgetFormat : e.STRPTR;
END;
CONST
noMenu = 0001FU;
noItem = 0003FU;
noSub = 0001FU;
menuNull = 0FFFFU;
checkWidth = 19;
commWidth = 27;
lowCheckWidth = 13;
lowCommWidth = 16;
alertType = 80000000H;
recoveryAlert = 00000000H;
deadendAlert = 80000000H;
autoFrontPen = 0;
autoBackPen = 1;
autoDrawMode = g.jam2;
autoLeftEdge = 6;
autoTopEdge = 3;
autoITextFont = NIL;
autoNextText = NIL;
selectUp = ie.lButton + ie.upPrefix;
selectDown = ie.lButton;
menuUp = ie.rButton + ie.upPrefix;
menuDown = ie.rButton;
middleDown = ie.mButton;
middleUp = ie.mButton + ie.upPrefix;
altLeft = {ie.lAlt};
altRight = {ie.rAlt};
amigaLeft = {ie.lCommand};
amigaRight = {ie.rCommand};
amigaKeys = amigaLeft + amigaRight;
cursorUp = 04CH;
cursorLeft = 04FH;
cursorRight = 04EH;
cursorDown = 04DH;
keyCodeQ = 010H;
keyCodeZ = 031H;
keyCodeX = 032H;
keyCodeV = 034H;
keyCodeB = 035H;
keyCodeN = 036H;
keyCodeM = 037H;
keyCodeLess = 038H;
keyCodeGreater = 039H;
TYPE
GadgetInfo = STRUCT
screen : ScreenPtr;
window : WindowPtr;
requester : RequesterPtr;
rastPort : g.RastPortPtr;
layer : g.LayerPtr;
domain : IBox;
pens : STRUCT
detailPen : SHORTINT;
blockPen : SHORTINT;
END;
drInfo : DrawInfoPtr;
reserved : ARRAY 6 OF LONGINT;
END;
PGX = STRUCT
container : IBox;
newKnob : IBox;
END;
ObjectUsr = LONGINT;
ClassID = e.BYTE;
Msg = STRUCT
methodID : LONGINT;
END;
CONST
rootClass = "rootclass";
imageClass = "imageclass";
frameIClass = "frameiclass";
sysIClass = "sysiclass";
fillRectClass = "fillrectclass";
gadgetClass = "gadgetclass";
progGClass = "propgclass";
strGClass = "strgclass";
buttonGClass = "buttongclass";
frButtonClass = "frbuttonclass";
groupGClass = "groupgclass";
icClass = "icclass";
modelClass = "modelclass";
dummy = 0100H;
new = 0101H;
dispose = 0102H;
set = 0103H;
get = 0104H;
addTail = 0105H;
remove = 0106H;
notify = 0107H;
update = 0108H;
addMember = 0109H;
remMember = 010AH;
TYPE
OpSet = STRUCT (msg : Msg)
attrList : u.TagItemPtr;
gInfo : GadgetInfoPtr;
END;
OpUpdate = STRUCT (msg : Msg)
attrList : u.TagItemPtr;
gInfo : GadgetInfoPtr;
flags : LONGSET;
END;
CONST
interim = 0;
TYPE
OpGet = STRUCT (msg : Msg)
attrID : LONGINT;
storage : e.APTR;
END;
OpAddTail = STRUCT (msg : Msg)
list : e.ListPtr;
END;
OpMember = STRUCT (msg : Msg)
object : ObjectPtr;
END;
IClass = STRUCT (dispatcher : u.Hook)
reserved : LONGINT;
super : IClassPtr;
id : ClassID;
instOffset : INTEGER;
instSize : INTEGER;
userData : LONGINT;
subclassCount : LONGINT;
objectCount : LONGINT;
flags : LONGSET;
END;
CONST
inList = 0;
TYPE
Object = STRUCT (node : e.MinNode)
class : IClassPtr;
END;
CONST
gaDummy = u.user + 30000H;
gaLeft = gaDummy + 0001H;
gaRelRight = gaDummy + 0002H;
gaTop = gaDummy + 0003H;
gaRelBottom = gaDummy + 0004H;
gaWidth = gaDummy + 0005H;
gaRelWidth = gaDummy + 0006H;
gaHeight = gaDummy + 0007H;
gaRelHeight = gaDummy + 0008H;
gaText = gaDummy + 0009H;
gaImage = gaDummy + 000AH;
gaBorder = gaDummy + 000BH;
gaSelectRender = gaDummy + 000CH;
gaHighlight = gaDummy + 000DH;
gaDisabled = gaDummy + 000EH;
gaGZZGadget = gaDummy + 000FH;
gaID = gaDummy + 0010H;
gaUserData = gaDummy + 0011H;
gaSpecialInfo = gaDummy + 0012H;
gaSelected = gaDummy + 0013H;
gaEndGadget = gaDummy + 0014H;
gaImmediate = gaDummy + 0015H;
gaRelVerify = gaDummy + 0016H;
gaFollowMouse = gaDummy + 0017H;
gaRightBorder = gaDummy + 0018H;
gaLeftBorder = gaDummy + 0019H;
gaTopBorder = gaDummy + 001AH;
gaBottomBorder = gaDummy + 001BH;
gaToggleSelect = gaDummy + 001CH;
gaSysGadget = gaDummy + 001DH;
gaSysGType = gaDummy + 001EH;
gaPrevious = gaDummy + 001FH;
gaNext = gaDummy + 0020H;
gaDrawInfo = gaDummy + 0021H;
gaIntuiText = gaDummy + 0022H;
gaLabelImage = gaDummy + 0023H;
gaTabCycle = gaDummy + 0024H;
pgaDummy = u.user + 31000H;
pgaFreedom = pgaDummy + 0001H;
pgaBorderless = pgaDummy + 0002H;
pgaHorizPot = pgaDummy + 0003H;
pgaHorizBody = pgaDummy + 0004H;
pgaVertPot = pgaDummy + 0005H;
pgaVertBody = pgaDummy + 0006H;
pgaTotal = pgaDummy + 0007H;
pgaVisible = pgaDummy + 0008H;
pgaTop = pgaDummy + 0009H;
pgaNewLook = pgaDummy + 000AH;
stringaDummy = u.user + 32000H;
stringaMaxChars = stringaDummy + 0001H;
stringaBuffer = stringaDummy + 0002H;
stringaUndoBuffer = stringaDummy + 0003H;
stringaWorkBuffer = stringaDummy + 0004H;
stringaBufferPos = stringaDummy + 0005H;
stringaDispPos = stringaDummy + 0006H;
stringaAltKeyMap = stringaDummy + 0007H;
stringaFont = stringaDummy + 0008H;
stringaPens = stringaDummy + 0009H;
stringaActivePens = stringaDummy + 000AH;
stringaEditHook = stringaDummy + 000BH;
stringaEditModes = stringaDummy + 000CH;
stringaReplaceMode = stringaDummy + 000DH;
stringaFixedFieldMode = stringaDummy + 000EH;
stringaNoFilterMode = stringaDummy + 000FH;
stringaJustification = stringaDummy + 0010H;
stringaLongVal = stringaDummy + 0011H;
stringaTextVal = stringaDummy + 0012H;
stringaExitHelp = stringaDummy + 0013H;
sgDefaultMaxChars = 128;
layoutaDummy = u.user + 38000H;
layoutaLayoutObj = layoutaDummy + 0001H;
layoutaSpacing = layoutaDummy + 0002H;
layoutaOrientation = layoutaDummy + 0003H;
lorientNone = 0;
lorientHoriz = 1;
lorientVert = 2;
gmDummy = -1;
gmHitTest = 0;
gmRender = 1;
gmGoActive = 2;
gmHandleInput = 3;
gmGoInactive = 4;
TYPE
HitTest = STRUCT (msg : Msg)
gInfo : GadgetInfoPtr;
mouse : g.Point;
END;
CONST
gadgetHit = 000000004;
TYPE
Render = STRUCT (msg : Msg)
gInfo : GadgetInfoPtr;
rPort : g.RastPortPtr;
redraw : LONGINT;
END;
CONST
gRedrawUpdate = 2;
gRedrawRedraw = 1;
gRedrawToggle = 0;
TYPE
Input = STRUCT (msg : Msg)
gInfo : GadgetInfoPtr;
iEvent : ie.InputEventPtr;
termination : e.APTR;
mouse : g.Point;
END;
CONST
gmrMeActive = 0;
gmrNoReuse = 2;
gmrReuse = 4;
gmrVerify = 8;
gmrNextActive = 16;
gmrPrevActive = 32;
TYPE
GoInactive = STRUCT (msg : Msg)
gInfo : GadgetInfoPtr;
abort : LONGINT;
END;
CONST
icmDummy = 00401H;
icmSetLoop = 00402H;
icmClearLoop = 00403H;
icmCheckLoop = 00404H;
icaDummy = u.user + 040000H;
icatarget = icaDummy + 1;
icamap = icaDummy + 2;
icSpecialCode = icaDummy + 3;
icTargetIDCMP = -LONGSET{};
customImageDepth = -1;
iaDummy = u.user + 20000H;
iaLeft = iaDummy + 001H;
iaTop = iaDummy + 002H;
iaWidth = iaDummy + 003H;
iaHeight = iaDummy + 004H;
iaFGPen = iaDummy + 005H;
iaBGPen = iaDummy + 006H;
iaData = iaDummy + 007H;
iaLineWidth = iaDummy + 008H;
iaPens = iaDummy + 00EH;
iaResolution = iaDummy + 00FH;
iaAPattern = iaDummy + 010H;
iaAPatSize = iaDummy + 011H;
iaMode = iaDummy + 012H;
iaFont = iaDummy + 013H;
iaOutline = iaDummy + 014H;
iaRecessed = iaDummy + 015H;
iaDoubleEmboss = iaDummy + 016H;
iaEdgesOnly = iaDummy + 017H;
sysiaSize = iaDummy + 00BH;
sysiaDepth = iaDummy + 00CH;
sysiaWhich = iaDummy + 00DH;
sysiaDrawInfo = iaDummy + 018H;
sysiaPens = iaPens;
iaShadowPen = iaDummy + 009H;
iaHighlightPen = iaDummy + 00AH;
sysIsSizeMedRes = 0;
sysIsSizeLowRes = 1;
sysIsSizeHires = 2;
depthImage = 000H;
zoomImage = 001H;
sizeImage = 002H;
closeImage = 003H;
sDepthImage = 005H;
leftImage = 00AH;
upImage = 00BH;
rightImage = 00CH;
downImage = 00DH;
checkImage = 00EH;
mxImage = 00FH;
imDraw = 0202H;
imHitTest = 0203H;
imErase = 0204H;
imMove = 0205H;
imDrawFrame = 0206H;
imFrameBox = 0207H;
imHitFrame = 0208H;
imEraseFrame = 0209H;
idsNormal = 0;
idsSelected = 1;
idsDisabled = 2;
idsBusy = 3;
idsIndeterminate = 4;
idsInactiveNormal = 5;
idsInactiveSelected = 6;
idsInactiveDisabled = 7;
TYPE
FrameBox = STRUCT (msg : Msg)
contentsBox : IBoxPtr;
frameBox : IBoxPtr;
drInfo : DrawInfoPtr;
frameFlags : LONGSET;
END;
CONST
frameFSpecify = 0;
TYPE
Dimensions = STRUCT
width : INTEGER;
height : INTEGER;
END;
Draw = STRUCT (msg : Msg)
rPort : g.RastPortPtr;
offset : g.Point;
state : LONGINT;
drInfo : DrawInfoPtr;
dimensions : Dimensions;
END;
Erase = STRUCT (msg : Msg)
rPort : g.RastPortPtr;
offset : g.Point;
dimensions : Dimensions;
END;
IMHitTest = STRUCT (msg : Msg)
point : g.Point;
dimensions : Dimensions;
END;
CONST
filenameSize = 30;
pointerSize = (1 + 16 + 1) * 2;
topazEighty = 8;
topazSixty = 9;
TYPE
Filename = ARRAY filenameSize OF CHAR;
Preferences = STRUCT
fontHeight : SHORTINT;
printerPort : SHORTINT;
baudRate : INTEGER;
keyRptSpeed : t.TimeVal;
keyRptDelay : t.TimeVal;
doubleClick : t.TimeVal;
pointerMatrix : ARRAY pointerSize OF INTEGER;
xOffset : SHORTINT;
yOffset : SHORTINT;
color17 : INTEGER;
color18 : INTEGER;
color19 : INTEGER;
pointerTicks : INTEGER;
color0 : INTEGER;
color1 : INTEGER;
color2 : INTEGER;
color3 : INTEGER;
viewXOffset : SHORTINT;
viewYOffset : SHORTINT;
viewInitX,viewInitY : INTEGER;
enableCLI : SET;
printerType : INTEGER;
printerFilename : Filename;
printPitch : INTEGER;
printQuality : INTEGER;
printSpacing : INTEGER;
printLeftMargin : INTEGER;
printRightMargin : INTEGER;
printImage : INTEGER;
printAspect : INTEGER;
printShade : INTEGER;
printThreshold : INTEGER;
paperSize : INTEGER;
paperLength : INTEGER;
paperType : INTEGER;
serRWBits : e.BYTE;
serStopBuf : e.BYTE;
serParShk : e.BYTE;
laceWB : SHORTSET;
workName : Filename;
rowSizeChange : SHORTINT;
columnSizeChange : SHORTINT;
printFlags : SET;
printMaxWidth : INTEGER;
printMaxHeight : INTEGER;
printDensity : SHORTINT;
printXOffset : SHORTINT;
width : INTEGER;
height : INTEGER;
depth : SHORTINT;
extSize : SHORTINT;
END;
CONST
laceWB = 0;
lwReserved = 1;
screenDrag = 14;
mouseAccel = 15;
parallelPrinter = 00H;
serialPrinter = 01H;
baud110 = 000H;
baud300 = 001H;
baud1200 = 002H;
baud2400 = 003H;
baud4800 = 004H;
baud9600 = 005H;
baud19200 = 006H;
baudMidi = 007H;
fanfold = 000H;
single = 080H;
pica = 0000H;
elite = 0400H;
fine = 0800H;
draft = 0000H;
letter = 0100H;
sixLPI = 0000H;
eightLPI = 0200H;
imagePositive = 000H;
imageNegative = 001H;
aspectHoriz = 000H;
aspectVert = 001H;
shadeBW = 000H;
shadeGreyScale = 001H;
shadeColor = 002H;
usLetter = 000H;
usLegal = 010H;
nTractor = 020H;
wTractor = 030H;
custom = 040H;
customName = 000H;
alphaP101 = 001H;
brother15XL = 002H;
cbmMps1000 = 003H;
diab630 = 004H;
diabAdvD25 = 005H;
diabC150 = 006H;
epson = 007H;
epsonJX80 = 008H;
okimate20 = 009H;
qumeLP20 = 00AH;
hpLaserjet = 00BH;
hpLaserjetPlus = 00CH;
buf512 = 000H;
buf1024 = 001H;
buf2048 = 002H;
buf4096 = 003H;
buf8000 = 004H;
buf16000 = 005H;
readBits = 0F0X;
writeBits = 00FX;
stopBits = 0F0X;
bufSizeBits = 00FX;
parityBits = 0F0X;
hShakeBits = 00FX;
parityNone = 0;
parityEven = 1;
parityOdd = 2;
shakeXon = 0;
shakeRts = 1;
shakeNone = 2;
correctRed = 0;
correctGreen = 1;
correctBlue = 2;
centerImage = 3;
ignoreDimensions = {};
boundedDimensions = 4;
absoluteDimensions = 5;
pixelDimensions = 6;
multiplyDimensions = 7;
integerScaling = 8;
orderedDithering = {};
halftoneDithering = 9;
floydDithering = 10;
antiAlias = 11;
greyScale2 = 12;
correctRGBMask = {correctRed, correctGreen, correctBlue};
dimensionsMask = {boundedDimensions, absoluteDimensions, pixelDimensions, multiplyDimensions};
ditheringMask = {halftoneDithering, floydDithering};
driVersion = 1;
TYPE
DrawInfo = STRUCT
version : INTEGER;
numPens : INTEGER;
pens : e.APTR;
font : g.TextFontPtr;
depth : INTEGER;
resolution : g.Point;
flags : LONGSET;
reserved : ARRAY 7 OF LONGINT;
END;
CONST
drifNewLook = 0;
detailPen = 0000H;
blockPen = 0001H;
textPen = 0002H;
shinePen = 0003H;
shadowPen = 0004H;
fillPen = 0005H;
fillTextPen = 0006H;
backGroundPen = 0007H;
highLightTextPen = 0008H;
numDRIPens = 0009H;
TYPE
Screen = STRUCT
nextScreen : ScreenPtr;
firstWindow : WindowPtr;
leftEdge,topEdge : INTEGER;
width,height : INTEGER;
mouseY,mouseX : INTEGER;
flags : SET;
title : e.STRPTR;
defaultTitle : e.STRPTR;
barHeight,barVBorder,barHBorder,menuVBorder,menuHBorder : SHORTINT;
wBorTop,wBorLeft,wBorRight,wBorBottom : SHORTINT;
font : g.TextAttrPtr;
viewPort : g.ViewPort;
rastPort : g.RastPort;
bitMap : g.BitMap;
layerInfo : g.LayerInfo;
firstGadget : GadgetPtr;
detailPen,blockPen : SHORTINT;
saveColor0 : INTEGER;
barLayer : g.LayerPtr;
extData : e.APTR;
userData : e.APTR;
END;
CONST
screenType = {0.reenType..3};
wbenchScreen = 0;
publicScreen = 1;
customScreen = {0.stomScreen..3};
showTitle = 4;
beeping = 5;
customBitMap = 6;
screenBehind = 7;
screenQuiet = 8;
screenHiRes = 9;
nsExtended = 12;
autoScroll = 14;
stdScreenHeight = -1;
stdScreenWidth = -1;
saDummy = u.user + 32;
saLeft = saDummy + 00001H;
saTop = saDummy + 00002H;
saWidth = saDummy + 00003H;
saHeight = saDummy + 00004H;
saDepth = saDummy + 00005H;
saDetailPen = saDummy + 00006H;
saBlockPen = saDummy + 00007H;
saTitle = saDummy + 00008H;
saColors = saDummy + 00009H;
saErrorCode = saDummy + 0000AH;
saFont = saDummy + 0000BH;
saSysFont = saDummy + 0000CH;
saType = saDummy + 0000DH;
saBitMap = saDummy + 0000EH;
saPubName = saDummy + 0000FH;
saPubSig = saDummy + 00010H;
saPubTask = saDummy + 00011H;
saDisplayID = saDummy + 00012H;
saDClip = saDummy + 00013H;
saOverscan = saDummy + 00014H;
saObsolete1 = saDummy + 00015H;
saShowTitle = saDummy + 00016H;
saBehind = saDummy + 00017H;
saQuiet = saDummy + 00018H;
saAutoScroll = saDummy + 00019H;
saPens = saDummy + 0001AH;
saFullPalette = saDummy + 0001BH;
osErrNoMonitor = 1;
osErrNoChips = 2;
osErrNoMem = 3;
osErrNoChipMem = 4;
osErrPubNotUnique = 5;
osErrUnknownMode = 6;
TYPE
NewScreen = STRUCT
leftEdge,topEdge,width,height,depth : INTEGER;
detailPen,blockPen : SHORTINT;
viewModes : SET;
type : SET;
font : g.TextAttrPtr;
defaultTitle : e.STRPTR;
gadgets : GadgetPtr;
customBitMap : g.BitMapPtr;
END;
ExtNewScreen = STRUCT (ns : NewScreen)
extension : u.TagItemPtr;
END;
CONST
oScanText = 1;
oScanStandard = 2;
oScanMax = 3;
oScanVideo = 4;
TYPE
PubScreenNode = STRUCT (node : e.Node)
screen : ScreenPtr;
flags : SET;
size : INTEGER;
visitorCount : INTEGER;
sigTask : e.TaskPtr;
sigBit : SHORTINT;
END;
CONST
psnfPrivate = 0;
maxPubScreenName = 139;
shanghai = 0;
popPubScreen = 1;
TYPE
StringExtend = STRUCT
font : g.TextFontPtr;
pens : ARRAY 2 OF SHORTINT;
activePens : ARRAY 2 OF SHORTINT;
initialMode : LONGSET;
editHook : u.HookPtr;
workBuffer : e.APTR;
reserved : ARRAY 4 OF LONGINT;
END;
SGWork = STRUCT
gadget : GadgetPtr;
stringInfo : StringInfoPtr;
workBuffer : e.APTR;
prevBuffer : e.APTR;
modes : LONGSET;
iEvent : ie.InputEventPtr;
code : INTEGER;
bufferPos : INTEGER;
numChars : INTEGER;
actions : LONGSET;
longInt : LONGINT;
gadgetInfo : GadgetInfoPtr;
editOp : INTEGER;
END;
CONST
eoNoOp = 01H;
eoDelBackward = 02H;
eoDelForward = 03H;
eoMoveCursor = 04H;
eoEnter = 05H;
eoReset = 06H;
eoReplaceChar = 07H;
eoInsertChar = 08H;
eoBadFormat = 09H;
eoBigChange = 0AH;
eoUndo = 0BH;
eoClear = 0CH;
eoSpecial = 0DH;
sgmReplace = 0;
sgmFixedField = 1;
sgmNoFilter = 2;
sgmExitHelp = 7;
sgmNoChange = 3;
sgmNoWorkB = 4;
sgmControl = 5;
sgmLongint = 6;
sgaUse = 0;
sgaEnd = 1;
sgaBeep = 2;
sgaReuse = 3;
sgaRedisplay = 4;
sgaNextActive = 5;
sgaPrevActive = 6;
sghKey = 1;
sghClick = 2;
dModeCount = 2;
hiresPick = 0;
lowresPick = 1;
eventMax = 10;
resCount = 2;
hiresGadget = 0;
lowresGadget = 1;
gadgetCount = 8;
upFrontGadget = 0;
downBackGadget = 1;
sizeGadget = 2;
closeGadget = 3;
dragGadget = 4;
sUpFrontGadget = 5;
sDownBackGadget = 6;
sDragGadget = 7;
TYPE
IntuitionBase = STRUCT (libNode : e.Library)
viewLord : g.View;
activeWindow : WindowPtr;
activeScreen : ScreenPtr;
firstScreen : ScreenPtr;
flags : LONGSET;
mouseY,mouseX : INTEGER;
time : t.TimeVal
END;
TYPE
LONGBOOL = LONGINT;
CONST
LTRUE = -1;
LFALSE = 0;
VAR
int : IntuitionBasePtr;
PROCEDURE OpenIntuition();
PROCEDURE Intuition(iEvent: ie.InputEventPtr);
PROCEDURE AddGadget(window: WindowPtr; VAR gadget: Gadget; position: LONGINT): INTEGER;
PROCEDURE ClearDMRequest(window: WindowPtr): BOOLEAN;
PROCEDURE ClearMenuStrip(window: WindowPtr);
PROCEDURE ClearPointer(window: WindowPtr);
PROCEDURE CloseScreen(screen: ScreenPtr): BOOLEAN;
PROCEDURE OldCloseScreen(screen: ScreenPtr);
PROCEDURE CloseWindow(window: WindowPtr);
PROCEDURE CloseWorkBench(): BOOLEAN;
PROCEDURE CurrentTime(VAR seconds: LONGINT; VAR micros: LONGINT);
PROCEDURE DisplayAlert(alertNumber: LONGINT; string: ARRAY OF CHAR; height: LONGINT): BOOLEAN;
PROCEDURE DisplayBeep(screen: ScreenPtr);
PROCEDURE DoubleClick(sSeconds: LONGINT; sMicros: LONGINT; cSeconds: LONGINT; cMicros: LONGINT): BOOLEAN;
PROCEDURE DrawBorder(rp: g.RastPortPtr; border: BorderPtr; leftOffset: LONGINT; topOffset: LONGINT);
PROCEDURE DrawImage(rp: g.RastPortPtr; image: Image; leftOffset: LONGINT; topOffset: LONGINT);
PROCEDURE EndRequest(requester: RequesterPtr; window: WindowPtr);
PROCEDURE GetDefPrefs(VAR preferences: ARRAY OF e.BYTE; size: LONGINT);
PROCEDURE GetPrefs(VAR preferences: ARRAY OF e.BYTE; size: LONGINT);
PROCEDURE InitRequester(VAR requester: Requester);
PROCEDURE ItemAddress(menuStrip: Menu; menuNumber: LONGINT): MenuItemPtr;
PROCEDURE ModifyIDCMP(window: WindowPtr; flags: LONGSET): BOOLEAN;
PROCEDURE OldModifyIDCMP(window: WindowPtr; flags: LONGSET);
PROCEDURE ModifyProp(VAR gadget: Gadget; window: WindowPtr; requester: RequesterPtr; flags: SET; horizPot: LONGINT; vertPot: LONGINT; horizBody: LONGINT; vertBody: LONGINT);
PROCEDURE MoveScreen(screen: ScreenPtr; dx: LONGINT; dy: LONGINT);
PROCEDURE MoveWindow(window: WindowPtr; dx: LONGINT; dy: LONGINT);
PROCEDURE OffGadget(VAR gadget: Gadget; window: WindowPtr; requester: RequesterPtr);
PROCEDURE OffMenu(window: WindowPtr; menuNumber: LONGINT);
PROCEDURE OnGadget(VAR gadget: Gadget; window: WindowPtr; requester: RequesterPtr);
PROCEDURE OnMenu(window: WindowPtr; menuNumber: LONGINT);
PROCEDURE OpenScreen(newScreen: NewScreen): ScreenPtr;
PROCEDURE OpenWindow(newWindow: NewWindow): WindowPtr;
PROCEDURE OpenWorkBench(): ScreenPtr;
PROCEDURE PrintIText(rp: g.RastPortPtr; iText: IntuiText; left: LONGINT; top: LONGINT);
PROCEDURE RefreshGadgets(gadgets: GadgetPtr; window: WindowPtr; requester: RequesterPtr);
PROCEDURE RemoveGadget(window: WindowPtr; VAR gadget: Gadget): INTEGER;
PROCEDURE ReportMouse(window: WindowPtr; flag: LONGBOOL);
PROCEDURE Request(requester: RequesterPtr; window: WindowPtr): BOOLEAN;
PROCEDURE ScreenToBack(screen: ScreenPtr);
PROCEDURE ScreenToFront(screen: ScreenPtr);
PROCEDURE SetDMRequest(window: WindowPtr; requester: RequesterPtr): BOOLEAN;
PROCEDURE SetMenuStrip(window: WindowPtr; VAR menu: Menu): BOOLEAN;
PROCEDURE SetPointer(window: WindowPtr; pointer: ARRAY OF e.BYTE; height: LONGINT; width: LONGINT; xOffset: LONGINT; yOffset: LONGINT);
PROCEDURE SetWindowTitles(window: WindowPtr; windowTitle: e.ADDRESS; screenTitle: e.ADDRESS);
PROCEDURE SetWindowTitlesStr(window: WindowPtr; windowTitle: ARRAY OF CHAR; screenTitle: ARRAY OF CHAR);
PROCEDURE ShowTitle(screen: ScreenPtr; showIt: LONGBOOL);
PROCEDURE SizeWindow(window: WindowPtr; dx: LONGINT; dy: LONGINT);
PROCEDURE ViewAddress(): g.ViewPtr;
PROCEDURE ViewPortAddress(window: WindowPtr): g.ViewPortPtr;
PROCEDURE WindowToBack(window: WindowPtr);
PROCEDURE WindowToFront(window: WindowPtr);
PROCEDURE WindowLimits(window: WindowPtr; widthMin: LONGINT; heightMin: LONGINT; widthMax: LONGINT; heightMax: LONGINT): BOOLEAN;
PROCEDURE SetPrefs(preferences: ARRAY OF e.BYTE; size: LONGINT; inform: LONGBOOL);
PROCEDURE IntuiTextLength(iText: IntuiText): INTEGER;
PROCEDURE WBenchToBack(): BOOLEAN;
PROCEDURE WBenchToFront(): BOOLEAN;
PROCEDURE AutoRequest(window: WindowPtr; body: IntuiTextPtr; posText: IntuiTextPtr; negText: IntuiTextPtr; pFlag: LONGSET; nFlag: LONGSET; width: LONGINT; height: LONGINT): BOOLEAN;
PROCEDURE BeginRefresh(window: WindowPtr);
PROCEDURE BuildSysRequest(window: WindowPtr; body: IntuiTextPtr; posText: IntuiTextPtr; negText: IntuiTextPtr; flags: LONGSET; width: LONGINT; height: LONGINT): WindowPtr;
PROCEDURE EndRefresh(window: WindowPtr; complete: LONGBOOL);
PROCEDURE FreeSysRequest(window: WindowPtr);
PROCEDURE MakeScreen(screen: ScreenPtr);
PROCEDURE RemakeDisplay();
PROCEDURE RethinkDisplay();
PROCEDURE AllocRemember(VAR rememberKey: RememberPtr; size: LONGINT; flags: LONGSET): e.APTR;
PROCEDURE AlohaWorkbench(wbport: e.MsgPortPtr);
PROCEDURE FreeRemember(VAR rememberKey: RememberPtr; reallyForget: LONGBOOL);
PROCEDURE LockIBase(dontknow: LONGINT): LONGINT;
PROCEDURE UnlockIBase(ibLock: LONGINT);
PROCEDURE GetScreenData(VAR buffer: Screen; size: LONGINT; type: SET; screen: ScreenPtr): BOOLEAN;
PROCEDURE RefreshGList(gadgets: GadgetPtr; window: WindowPtr; requester: RequesterPtr; numGad: LONGINT);
PROCEDURE AddGList(window: WindowPtr; gadget: GadgetPtr; position: LONGINT; numGad: LONGINT; requester: RequesterPtr): INTEGER;
PROCEDURE RemoveGList(remPtr: WindowPtr; gadget: GadgetPtr; numGad: LONGINT): INTEGER;
PROCEDURE ActivateWindow(window: WindowPtr): BOOLEAN;
PROCEDURE OldActivateWindow(window: WindowPtr);
PROCEDURE RefreshWindowFrame(window: WindowPtr);
PROCEDURE ActivateGadget(VAR gadget: Gadget; window: WindowPtr; requester: RequesterPtr): BOOLEAN;
PROCEDURE NewModifyProp(VAR gadget: Gadget; window: WindowPtr; requester: RequesterPtr; flags: SET; horizPot: LONGINT; vertPot: LONGINT; horizBody: LONGINT; vertBody: LONGINT; numGad: LONGINT);
PROCEDURE QueryOverscan(displayID: LONGINT; rect: g.Rectangle; oScanType: LONGINT): LONGINT;
PROCEDURE MoveWindowInFrontOf(window: WindowPtr; behindWindow: WindowPtr);
PROCEDURE ChangeWindowBox(window: WindowPtr; left: LONGINT; top: LONGINT; width: LONGINT; height: LONGINT);
PROCEDURE SetEditHook(hook: u.HookPtr): u.HookPtr;
PROCEDURE SetMouseQueue(window: LONGINT; queueLength: LONGINT): LONGINT;
PROCEDURE ZipWindow(window: WindowPtr);
PROCEDURE LockPubScreen(name: ARRAY OF CHAR): ScreenPtr;
PROCEDURE UnlockPubScreen(name: ARRAY OF CHAR; screen: ScreenPtr);
PROCEDURE LockPubScreenList(): e.ListPtr;
PROCEDURE UnlockPubScreenList();
PROCEDURE NextPubScreen(screen: ScreenPtr; VAR name: ARRAY OF CHAR): e.STRPTR;
PROCEDURE SetDefaultPubScreen(name: ARRAY OF CHAR);
PROCEDURE SetPubScreenModes(modes: SET): SET;
PROCEDURE PubScreenStatus(screen: ScreenPtr; statusFlags: SET): SET;
PROCEDURE ObtainGIRPort(gInfo: GadgetInfoPtr): g.RastPortPtr;
PROCEDURE ReleaseGIRPort(rp: g.RastPortPtr);
PROCEDURE GadgetMouse(VAR gadget: Gadget; gInfo: GadgetInfoPtr; VAR mousePoint: g.Point);
PROCEDURE SetIPrefs(ptr: e.APTR; size: LONGINT; type: LONGINT);
PROCEDURE GetDefaultPubScreen(VAR nameBuffer: ARRAY OF CHAR);
PROCEDURE EasyRequestArgs(window: WindowPtr; easyStruct: EasyStructPtr; idcmpPtr: e.APTR; args: e.APTR): LONGINT;
PROCEDURE EasyRequest(window: WindowPtr; easyStruct: EasyStructPtr; idcmpPtr: e.APTR; arg1..: e.APTR): LONGINT;
PROCEDURE BuildEasyRequestArgs(window: WindowPtr; easyStruct: EasyStructPtr; idcmp: LONGSET; args: e.APTR): WindowPtr;
PROCEDURE BuildEasyRequest(window: WindowPtr; easyStruct: EasyStructPtr; idcmp: LONGSET; arg1..: e.APTR): WindowPtr;
PROCEDURE SysReqHandler(window: WindowPtr; idcmpPtr: e.APTR; waitInput: LONGBOOL): LONGINT;
PROCEDURE OpenWindowTagList(newWindow: NewWindow; tagList: ARRAY OF u.TagItem): WindowPtr;
PROCEDURE OpenWindowTags(newWindow: NewWindow; tag1..: u.Tag): WindowPtr;
PROCEDURE OpenWindowTagListA(newWindow: NewWindowPtr; tagList: ARRAY OF u.TagItem): WindowPtr;
PROCEDURE OpenWindowTagsA(newWindow: NewWindowPtr; tag1..: u.Tag): WindowPtr;
PROCEDURE OpenScreenTagList(newScreen: NewScreen; tagList: ARRAY OF u.TagItem): ScreenPtr;
PROCEDURE OpenScreenTags(newScreen: NewScreen; tag1..: u.Tag): ScreenPtr;
PROCEDURE OpenScreenTagListA(newScreen: NewScreenPtr; tagList: ARRAY OF u.TagItem): ScreenPtr;
PROCEDURE OpenScreenTagsA(newScreen: NewScreenPtr; tag1..: u.Tag): ScreenPtr;
PROCEDURE DrawImageState(rp: g.RastPortPtr; image: Image; leftOffset: LONGINT; topOffset: LONGINT; state: LONGINT; drawInfo: DrawInfoPtr);
PROCEDURE PointInImage(point: LONGINT; image: Image): BOOLEAN;
PROCEDURE EraseImage(rp: g.RastPortPtr; image: Image; leftOffset: LONGINT; topOffset: LONGINT);
PROCEDURE NewObjectA(clacc: IClassPtr; classID: ARRAY OF CHAR; tagList: ARRAY OF u.TagItem): e.APTR;
PROCEDURE NewObject(clacc: IClassPtr; classID: ARRAY OF CHAR; tag1..: u.Tag): e.APTR;
PROCEDURE DisposeObject(object: e.APTR);
PROCEDURE SetAttrsA(object: e.APTR; tagList: ARRAY OF u.TagItem): LONGINT;
PROCEDURE SetAttrs(object: e.APTR; tag1..: u.Tag): LONGINT;
PROCEDURE GetAttr(attrID: LONGINT; object: e.APTR; VAR storage: ARRAY OF e.BYTE): LONGINT;
PROCEDURE SetGadgetAttrsA(VAR gadget: Gadget; window: WindowPtr; requester: RequesterPtr; tagList: ARRAY OF u.TagItem): LONGINT;
PROCEDURE SetGadgetAttrs(VAR gadget: Gadget; window: WindowPtr; requester: RequesterPtr; tag1..: u.Tag): LONGINT;
PROCEDURE NextObject(VAR objectPtr: ObjectPtr): e.APTR;
PROCEDURE FindClass(classID: ARRAY OF CHAR): IClassPtr;
PROCEDURE MakeClass(classID: ARRAY OF CHAR; superClassID: ARRAY OF CHAR; superClassPtr: IClassPtr; instanceSize: LONGINT; flags: LONGSET): IClassPtr;
PROCEDURE AddClass(class: IClassPtr);
PROCEDURE GetScreenDrawInfo(screen: ScreenPtr): DrawInfoPtr;
PROCEDURE FreeScreenDrawInfo(screen: ScreenPtr; drawInfo: DrawInfoPtr);
PROCEDURE ResetMenuStrip(window: WindowPtr; VAR menu: Menu): BOOLEAN;
PROCEDURE RemoveClass(classPtr: IClassPtr);
PROCEDURE FreeClass(classPtr: IClassPtr): BOOLEAN;
PROCEDURE lockPubClass();
PROCEDURE unlockPubClass();
PROCEDURE MenuNum(n: INTEGER): INTEGER;
PROCEDURE ItemNum(n: INTEGER): INTEGER;
PROCEDURE SubNum(n: INTEGER): INTEGER;
PROCEDURE ShiftMenu(n: INTEGER): INTEGER;
PROCEDURE ShiftItem(n: INTEGER): INTEGER;
PROCEDURE ShiftSub(n: INTEGER): INTEGER;
PROCEDURE FullMenuNum(menu, item, sub: INTEGER): INTEGER;
PROCEDURE SRBNum(n: e.BYTE): INTEGER;
PROCEDURE SWBNum(n: e.BYTE): INTEGER;
PROCEDURE SSBNum(n: e.BYTE): INTEGER;
PROCEDURE SPARNum(n: e.BYTE): INTEGER;
PROCEDURE SHAKNum(n: e.BYTE): INTEGER;
PROCEDURE CustomHook(VAR g: Gadget): u.HookPtr;
PROCEDURE GadgetBox(VAR g: Gadget): IBoxPtr;
PROCEDURE IMBox(VAR i: Image): IBoxPtr;
PROCEDURE FGPen(VAR i: Image): SHORTINT;
PROCEDURE BGPen(VAR i: Image): SHORTINT;
PROCEDURE BoolToLong(b: BOOLEAN): LONGBOOL;
PROCEDURE UIntToLong(i: INTEGER): LONGINT;
PROCEDURE LongToUInt(l: LONGINT): INTEGER;
PROCEDURE ScreenToRastPort(s: ScreenPtr): g.RastPortPtr;
PROCEDURE ScreenToViewPort(s: ScreenPtr): g.ViewPortPtr;
END Intuition.